package com.cn.hotel.dao.Impl;

import com.cn.hotel.dao.INewsDao;
import com.cn.hotel.model.NewsModel;
import com.cn.hotel.model.NewsTypeModel;
import com.cn.hotel.util.GetSqlSession;
import com.cn.hotel.util.JDBC;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public class NewsImpl implements INewsDao {
    /**
     * 获取数据库新闻总条数
     *
     * @param newsModel
     * @return
     */
    @Override
    public int getCount(NewsModel newsModel) {
        return GetSqlSession.getSqlSession().selectOne("com.cn.hotel.dao.INewsDao.getCount",newsModel);
    }

    /**
     * 查询所有新闻
     *
     * @param newsModel
     * @return
     */
    @Override
    public List<NewsModel> findAll(NewsModel newsModel) {
        return GetSqlSession.getSqlSession().selectList("com.cn.hotel.dao.INewsDao.findAll",newsModel);
    }

    /**
     * 添加新闻
     *
     * @param newsModel
     * @return
     */
    @Override
    public int add(NewsModel newsModel) {
        return GetSqlSession.getSqlSession().insert("com.cn.hotel.dao.INewsDao.add",newsModel);
    }

    /**
     * 通过id查询
     *
     * @param temp
     * @return
     */
    @Override
    public NewsModel findById(Integer temp) {
        return GetSqlSession.getSqlSession().selectOne("com.cn.hotel.dao.INewsDao.findById",temp);
    }

    /**
     * 保存新闻修改
     *
     * @param newsModel
     * @return
     */
    @Override
    public int newsEdit(NewsModel newsModel) {
        return GetSqlSession.getSqlSession().update("com.cn.hotel.dao.INewsDao.newsEdit",newsModel);
    }

    /**
     * 删除
     * @param aa
     * @return
     */
    @Override
    public int delete(Integer aa) {
       return GetSqlSession.getSqlSession().delete("com.cn.hotel.dao.INewsDao.delete",aa);
    }

    /**
     * 新闻类型获取
     * @return
     */
    @Override
    public List<NewsTypeModel> getNewsTypeModelList() {
        return GetSqlSession.getSqlSession().selectList("com.cn.hotel.dao.INewsDao.getNewsTypeModelList");
    }

    /**
     * 网站首页调取五条最新新闻数据
     * @return
     */
    @Override
    public List<NewsModel> getHomeNewsModelList() {
        return GetSqlSession.getSqlSession().selectList("com.cn.hotel.dao.INewsDao.getHomeNewsModelList");
    }

    @Override
    public List<NewsModel> getDetails(Integer temp) {
        return GetSqlSession.getSqlSession().selectList("com.cn.hotel.dao.INewsDao.getDetails",temp);
    }

    @Override
    public int getNumber(Integer temp) {
        return GetSqlSession.getSqlSession().selectOne("com.cn.hotel.dao.INewsDao.getNumber",temp);
    }

    /**
     * 新闻列表获取
     * @return
     */
    @Override
    public List<NewsModel> getNewsModelList(Map<String,Integer> map) {
       return GetSqlSession.getSqlSession().selectList("com.cn.hotel.dao.INewsDao.getNewsModelList",map);
    }

}
